其他
Python数据分析之Matplotlib(2)
击上方“Ahab杂货铺”,选择“置顶公众号”
技术分享第一时间送达!
写在前面
自己的状态已经调整过来了,今天恢复更新,之前的赠书活动仍然有效,在文末可以点击传送门,大家积极参与。今天介绍的是三剑客之一Matplotlib折线图的相关。
绘制折线图:
x=range(2,26,2)
y=[15,13,14.5,17,20,25,16,26,27,22,18,15]
plt.plot(x,y)
plt.show()
这个折线图具体是什么意思自己可能看着都费劲更不用说其他人了,现在就需要对这个折线图进一步的细化,让这个图让更多人能够看明白。
图片大小:
fig = plt.figure(figsize=(5,5), dpi=80)figsize可以调节图片的宽和高
dpi参数可以让图片更加清晰
保存图片:
plt.savefig("./sig_size.png")savefig()可以保存刚刚图片到本地。
描述信息 x y轴表示什么:
x = range(2, 26, 2)
y = [15, 13,14.5,17,20,25,26, 26, 27, 22, 18, 15]
plt.xlabel("时间",)
plt.ylabel("温度 单位(C)",)
plt.title("10点到11点每分钟温度变化情况")
plt.plot(x, y)
plt.show()
可以从图片中看到中文已经乱码,这里介绍四种方法解决Matplotlib中文乱码。
【方式一】FontProperties
import matplotlib.pyplot as plt#步骤一
from matplotlib.font_manager \
import FontProperties
# 步骤二
font = FontProperties(fname=
r"c:\windows\fonts\simsun.ttc", size=14)
# 步骤三
plt.xlabel("x轴", fontproperties=font)
plt.ylabel("y轴", fontproperties=font)
plt.title("标题", fontproperties=font)
plt.show()
【方式二】 fontproperties
plt.xlabel("x轴")
plt.ylabel("y轴", fontproperties="SimSun")
plt.title("标题", fontproperties="SimHei")
plt.show()
优点:灵活,不污染全局字体设置
【方式三】rcParams
import matplotlib.pyplot as plt# 步骤一(替换sans-serif字体)
plt.rcParams['font.sans-serif'] = ['SimHei']
# 步骤二(解决坐标轴负数的负号显示问题)
plt.rcParams['axes.unicode_minus'] = False
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.title("标题")
plt.show()
优点:简洁的用法。缺点:污染全局字体设置。(所以需要第二步骤)
【方式四】rc
font = {'family' : 'SimHei',
'weight' : 'bold',
'size' : '16'}
# 步骤一(设置字体的更多属性)
plt.rc('font', **font)
# 步骤二(解决坐标轴负数的负号显示问题)
plt.rc('axes', unicode_minus=False)
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.title("标题")
plt.show()
优点:灵活的用法。缺点:影响全局字体(所以需要第二步骤)
【总结】
方式二用时才设置,且不会污染全局字体设置,更灵活
方式三、方式四不需要对字体路径硬编码,而且一次设置,多次使用,更方便)
设置x y 轴的刻度间距:
plt.xticks(range(2,25))plt.yticks(range(min(y),max(y)+1))
参数根据自己的需求去设置。
绘制网格线:
alpha 参数可以设置网格的透明度
今天的介绍就到这,没怎么排版,看起来可能有点累大家多多谅解。福利传送门就在下方。
福利传送门:
近期推荐阅读:
进群交流可以加我微信,备注进群
欢迎您的点赞和分享
▲长按关注此公众号